package com.vict.service;

import com.vict.bean.FileDto;
import com.vict.util.FileUtils;
import com.vict.util.IdUtils;
import com.vict.util.PatternUtil;
import org.springframework.beans.factory.support.ScopeNotActiveException;

import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;

public class MusicService {

    /**  */
    public static List<FileDto> loadAllFile(List<File> files){
        ArrayList<FileDto> fileDtos = new ArrayList<>();
        for(File file : Optional.ofNullable(files).orElse(new ArrayList<>())){
            FileDto fileDto = new FileDto();
            fileDto.setRealFile(file);
            fileDto.setId(IdUtils.getSalt(10, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray()));
            fileDtos.add(fileDto);
        }

        return fileDtos;
    }

    /** 直接重命名音乐文件 */
    public static File rename(File file, int i){
        String name = file.getName();

        if(!name.endsWith("mp3")){
            return null; // 不是mp3文件
        }

        if(PatternUtil.matcherOne("^[0123456789]{5}\\.", name) != null){
            // 已经格式化好 00000.
            name = name.substring(6, name.length());
        }

        String prx = "" + i;
        while(true){
            if(prx.length() == 5){
                break;
            }
            prx = "0" + prx;
        }
        return FileUtils.rename(file, prx + "." + name);
    }
}
